Motion.SetAxisGearInPos 方法
此命令为从同步点开始的从轴和主轴间的位置齿轮比。
注意:欲使用 SetGearInPos(),主轴需处于移动中以恒定速度移动。
运作方式:
首先,从轴使用 Motion.MoveAxisContinuousAbsolute 方法,在正确的时间及速度到达 SlaveSyncPosition,Velocity、Acceleration 与 Deceleration 输入可供 Motion.MoveAxisContinuousAbsolute 运动设定,运动执行时,StartSync 输出为 TRUE,一旦此运动完成,InSync 输出将为 TRUE。
GearInPos 设定档:
- 若 MasterStartDistance 非零,主轴位置一到达 MasterSyncPosition +- MasterStartDistance 时从轴即开始移动,Velocity 被视为可能无法达到的最大速度,除非速度太低,否则基本上会被省略,由于无法产生相容的设定档因此将触发错误。
- 若 MasterStartDistance 为零而 Velocity 非零,将依据提供的最大速度计算可能的最短路径设定。
- 若 MasterStartDistance 及 Velocity 皆为零,KINGSTAR 将产生一个最顺路径设定。
命名空间:IntervalZero.KINGSTAR.Local.Api
组合: IntervalZero.KINGSTAR.Local.Api (于 IntervalZero.KINGSTAR.Local.dll) 版本:4.4.0.0
语法
public KsCommandStatus SetAxisGearInPos(
int Master,
int Slave,
bool Permanent,
double Ratio,
McSource MasterValueSource,
double MasterSyncPosition,
double SlaveSyncPosition,
McSyncMode SyncMode,
double MasterStartDistance,
double Velocity,
double Acceleration,
double Deceleration,
double Jerk,
McBufferMode BufferMode
)
Public Function SetAxisGearInPos(
Master As Integer,
Slave As Integer,
Permanent As Boolean,
Ratio As Double,
MasterValueSource As McSource,
MasterSyncPosition As Double,
SlaveSyncPosition As Double,
SyncMode As McSyncMode,
MasterStartDistance As Double,
Velocity As Double,
Acceleration As Double,
Deceleration As Double,
Jerk As Double,
BufferMode As McBufferMode
) As KsCommandStatus
参数
Master [in]
型别:int
主轴的索引。索引以 0 为起始;别名将影响此参数。
Slave [in]
型别:int
从轴的索引。索引以 0 为起始;别名将影响此参数。从轴数量最多为 32。
Permanent [in]
型别:bool
决定马达停用后是否保留齿轮状态。
true:即使马达停用仍保留齿轮状态,例如当主轴启用时从轴也会跟著启用,而当主轴发生错误从轴也会发生错误。
false:马达停用后不会保留齿轮状态。
Ratio [in]
型别:double
齿轮比率。
MasterValueSource [in]
型别:McSource
定义同步的来源。
- mcSetValue – 同步主轴设定值,建议使用此设定。
- mcActualValue – 同步主轴实际值,此设定可能不稳定。
- mcSecondEncoderValue – 轴的第二编码器的实际值。
注意:尚未支援 mcSecondEncoderValue。
MasterSyncPosition [in]
型别:double
从轴与主轴同步时主轴的位置。
SlaveSyncPosition [in]
型别:double
从轴与主轴同步时从轴的位置。
SyncMode [in]
型别:McSyncMode
定义同步的方式。
MasterStartDistance [in]
型别:double
为了与从轴同步,主轴所移动的距离(当从轴开始进入同步时)。
Velocity [in]
型别:double
同步阶段时的最大速度。
Acceleration [in]
型别:double
同步阶段时的最大加速度。
Deceleration [in]
型别:double
同步阶段时的最大减速度。
Jerk [in]
型别:double
同步阶段时的最大加加速度。
BufferMode [in]
型别:McBufferMode
定义如何融合两方法的速度。
回传值
回传 KsCommandStatus 类别。
备注
- 若使用 MasterStartDistance,直到主轴以正确的方向跨过 MasterSyncPosition 或 MasterStartDistance 前,任何先前的运动都会继续执行(依照 MasterStartDistance 的指示)。若在同步发生之前对从轴执行停止命令,同步将被取消且此方法将发送 CommandAborted。
- 若未指定 MasterStartDistance,则系统可根据其他相关输入计算同步设定位置。
- 在 SyncMode中,
mcCatchUp
与mcSlowDown
的差别在于同步所需的能量。相较于mcCatchUp
,mcSlowDown
需求的能量较少。 - 欲分离从轴,请使用 ReleaseAxis。
- 当模数轴启用时,只有主轴可配置为模数轴,且 MasterSyncPosition 将被转换为模数值,而 MasterStartDistance 不会被转换。例如,若模数值为 360,当主轴的目前位置为 0,速度设定为 180/s,且 MasterSyncPosition 设定为 -20,则主轴将使用 340 作为同步位置。
范例
N/A
参见